package com.example.coursehub.service;
import com.example.coursehub.entity.*;

import java.util.List;

public interface StatisticsService {
    // 课程统计
    // 根据学生ID和课程ID获取课程的所有章节ID
    List<String> getChapterIdsByStudentAndCourse(String studentId, String courseId);

    // 根据章节ID获取章节下的所有材料ID
    List<String> getMaterialIdsByChapter(String chapterId);

    // 根据章节ID获取章节实体类
    Chapter getChapterById(String chapterId);

    // 根据课程ID获取课程实体类
    Course getCourseById(String courseId);

    // 根据资料ID获取资料实体类
    Material getMaterialById(String materialId);

    // 根据课程ID获取课程的所有章节ID
    List<String> getChapterIdsByCourse(String courseId);

    // 根据课程ID和学生ID获取学生的课程学习进度
    int getCourseProgress(String courseId, String studentId);

    // 根据章节ID和学生ID获取学生的章节学习进度
    int getChapterProgress(String chapterId, String studentId);

    // 根据资料ID和学生ID获取学生的资料学习进度
    int getMaterialProgress(String materialId, String studentId);

    // 统计指定课程的完成率
    int calculateClassCompletionRate(String classId);

    // 统计指定作业的提交数量
    int calculateExerciseCompletionRate(String exerciseId);
}